<?php
/**
 * Autor:   Miguel A. Zilli
 * Email:   miguelzilli@gmail.com
 */

class PrediosController extends AppController{
    var $name = 'Predios';
    var $uses = array('Predio','Productor','Localidad','Provincia','Departamento');
    var $helpers=array('Javascript','Ajax');

    function verdetalles($id){
        $predio=$this->Predio->find('first',array('conditions'=>'Predio.id='.$id));
        $predio+=$this->Departamento->find('first',array(
                    'conditions'=>'Departamento.id='.$predio['Localidad']['departamento_id']));
        $this->set('predio', $predio);
    }

    function agregar($id_productor){
        Configure::write('debug','0');
        $this->layout = 'sist_integral';
        $this->pageTitle = 'Sistema Frutihorticola';
        if(!empty($this->data)){
            $this->data['Predio']['productor_id']=$id_productor;
            if($this->Predio->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect('/productores/ver/'.$id_productor);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        if (empty($this->data)){
            $this->data=$this->Predio->porDefecto;
        }
        $this->set('productor',$this->Productor->find('first',array('fields'=>'apellido_prod','conditions'=>'Productor.id='.$id_productor)));
        $this->set('provincias', $this->Provincia->find('list'));
        $primera_provincia = $this->Provincia->find('first');
        $this->set('departamentos', $this->Departamento->find('list', array(
                    'conditions'=>'Departamento.provincia_id='.$primera_provincia['Provincia']['id'])));
        $primer_dpto= $this->Departamento->find('first');
        $this->set('localidades', $this->Localidad->find('list', array(
                    'conditions'=>'Localidad.departamento_id='.$primer_dpto['Departamento']['id'])));
        $this->set('tenenciatipos',$this->Predio->Tenenciatipo->find('list',array('fields' => 'tipo_ten')));
        for($m=24; $m<29; $m++){
            $gradosLatitud[$m]=$m;
        }
        for($m=58; $m<64; $m++){
            $gradosLongitud[$m]=$m;
        }
        for($m=0; $m<60; $m++){
            $minutos[$m]=$m;
        }
        $this->set('gradosLatitud',$gradosLatitud);
        $this->set('gradosLongitud',$gradosLongitud);
        $this->set('minutos',$minutos);
    }

    function editar($id=null){
        if (!empty($this->data)){
            if ($this->Predio->save($this->data)){
                $this->Session->setFlash('Datos actualizados correctamente.');
                $this->redirect('/productores/ver/'.$this->data['Predio']['productor_id']);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        if (empty($this->data)){
            $this->data=$this->Predio->read(null,$id);
        }
        $this->data+=$this->Departamento->find('first',array(
                'conditions'=>'Departamento.id='.$this->data['Localidad']['departamento_id']));
        $this->set('provincias', $this->Provincia->find('list'));
        $this->set('departamentos',$this->Departamento->find('list',array(
                    'conditions'=>'Departamento.provincia_id='.$this->data['Departamento']['provincia_id'])));
        $this->set('localidades', $this->Localidad->find('list',array(
                    'conditions'=>'Localidad.departamento_id='.$this->data['Localidad']['departamento_id'])));
        $this->set('tenenciatipos',$this->Predio->Tenenciatipo->find('list',array('fields' => 'tipo_ten')));
        for($m=24; $m<29; $m++){
            $gradosLatitud[$m]=$m;
        }
        for($m=58; $m<64; $m++){
            $gradosLongitud[$m]=$m;
        }
        for($m=0; $m<60; $m++){
            $minutos[$m]=$m;
        }
        $this->set('gradosLatitud',$gradosLatitud);
        $this->set('gradosLongitud',$gradosLongitud);
        $this->set('minutos',$minutos);
    }

    function eliminar($id=null){
        $this->__checkAdmin();
        $id_productor=$this->Predio->field('Predio.productor_id',array('Predio.id'=>$id));
        if($this->Predio->del($id)){
            $this->Session->setFlash('Operacion realizada correctamente.');
            $this->redirect('/productores/ver/'.$id_productor);
        }else{
            $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            $this->redirect('/productores/ver/'.$id_productor);
        }
    }

    function update_dpto(){
        if (!empty($this->data['Departamento']['provincia_id'])){
            $id_prov = $this->data['Departamento']['provincia_id'];
            $departamentos = $this->Departamento->find('list', array('fields'=>array('nombre_dpto'),'order'=>'nombre_dpto ASC','conditions'=>array('Departamento.provincia_id'=>$id_prov)));
        }else{
            $departamentos = null;
        }
        $this->set('options', $departamentos);
        $this->render('/elements/update_select', 'ajax');
    }

    function update_loc(){
        if (!empty($this->data['Localidad']['departamento_id'])){
            $id_dpto = $this->data['Localidad']['departamento_id'];
            $localidades = $this->Localidad->find('list', array('fields'=>array('nombre_loc'),'order'=>'nombre_loc ASC','conditions'=>array('Localidad.departamento_id'=>$id_dpto)));
        }else{
            $localidades = null;
        }
        $this->set('options', $localidades);
        $this->render('/elements/update_select', 'ajax');
    }
}
?>